USE [master]
GO
/****** Object:  Database [GENISIS_DB]    Script Date: 11/7/2017 2:53:43 PM ******/
CREATE DATABASE [GENISIS_DB]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'GENISIS_DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER2012\MSSQL\DATA\GENISIS_DB.mdf' , SIZE = 7168KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'GENISIS_DB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER2012\MSSQL\DATA\GENISIS_DB_log.ldf' , SIZE = 164672KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [GENISIS_DB] SET COMPATIBILITY_LEVEL = 110
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [GENISIS_DB].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [GENISIS_DB] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [GENISIS_DB] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [GENISIS_DB] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [GENISIS_DB] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [GENISIS_DB] SET ARITHABORT OFF 
GO
ALTER DATABASE [GENISIS_DB] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [GENISIS_DB] SET AUTO_CREATE_STATISTICS ON 
GO
ALTER DATABASE [GENISIS_DB] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [GENISIS_DB] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [GENISIS_DB] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [GENISIS_DB] SET CURSOR_DEFAULT  GLOBAL 
GO
ALTER DATABASE [GENISIS_DB] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [GENISIS_DB] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [GENISIS_DB] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [GENISIS_DB] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [GENISIS_DB] SET  DISABLE_BROKER 
GO
ALTER DATABASE [GENISIS_DB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
ALTER DATABASE [GENISIS_DB] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
ALTER DATABASE [GENISIS_DB] SET TRUSTWORTHY OFF 
GO
ALTER DATABASE [GENISIS_DB] SET ALLOW_SNAPSHOT_ISOLATION OFF 
GO
ALTER DATABASE [GENISIS_DB] SET PARAMETERIZATION SIMPLE 
GO
ALTER DATABASE [GENISIS_DB] SET READ_COMMITTED_SNAPSHOT OFF 
GO
ALTER DATABASE [GENISIS_DB] SET HONOR_BROKER_PRIORITY OFF 
GO
ALTER DATABASE [GENISIS_DB] SET RECOVERY FULL 
GO
ALTER DATABASE [GENISIS_DB] SET  MULTI_USER 
GO
ALTER DATABASE [GENISIS_DB] SET PAGE_VERIFY CHECKSUM  
GO
ALTER DATABASE [GENISIS_DB] SET DB_CHAINING OFF 
GO
ALTER DATABASE [GENISIS_DB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) 
GO
ALTER DATABASE [GENISIS_DB] SET TARGET_RECOVERY_TIME = 0 SECONDS 
GO
EXEC sys.sp_db_vardecimal_storage_format N'GENISIS_DB', N'ON'
GO
USE [GENISIS_DB]
GO
/****** Object:  User [genisis_test]    Script Date: 11/7/2017 2:53:43 PM ******/
CREATE USER [genisis_test] FOR LOGIN [genisis_test] WITH DEFAULT_SCHEMA=[dbo]
GO
/****** Object:  User [genisis]    Script Date: 11/7/2017 2:53:43 PM ******/
CREATE USER [genisis] FOR LOGIN [genisis] WITH DEFAULT_SCHEMA=[dbo]
GO
/****** Object:  User [data_ops]    Script Date: 11/7/2017 2:53:43 PM ******/
CREATE USER [data_ops] FOR LOGIN [data_ops] WITH DEFAULT_SCHEMA=[dbo]
GO
ALTER ROLE [db_datareader] ADD MEMBER [genisis_test]
GO
ALTER ROLE [db_owner] ADD MEMBER [genisis]
GO
ALTER ROLE [db_ddladmin] ADD MEMBER [genisis]
GO
ALTER ROLE [db_datareader] ADD MEMBER [genisis]
GO
ALTER ROLE [db_datawriter] ADD MEMBER [genisis]
GO
ALTER ROLE [db_datareader] ADD MEMBER [data_ops]
GO
ALTER ROLE [db_datawriter] ADD MEMBER [data_ops]
GO
/****** Object:  Schema [StudyMart1]    Script Date: 11/7/2017 2:53:43 PM ******/
CREATE SCHEMA [StudyMart1]
GO
/****** Object:  Schema [StudyMart2]    Script Date: 11/7/2017 2:53:43 PM ******/
CREATE SCHEMA [StudyMart2]
GO
USE [GENISIS_DB]
GO
/****** Object:  Sequence [dbo].[User_Id_Seq]    Script Date: 11/7/2017 2:53:43 PM ******/
CREATE SEQUENCE [dbo].[User_Id_Seq] 
 AS [int]
 START WITH 1
 INCREMENT BY 1
 MINVALUE 1
 MAXVALUE 500
 CYCLE 
 CACHE 
GO
/****** Object:  StoredProcedure [dbo].[Usp_Insert_Usermgt]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE PROC [dbo].[Usp_Insert_Usermgt]

(@User_id VARCHAR(320), 
@First_Name VARCHAR(50), 
@Middle_Name VARCHAR(50), 
@Last_Name VARCHAR(50), 
@user_approver_id varchar(320), 
@Role_Type_id int, 
@User_Type_id int
)
 as

SET NOCOUNT ON
SET XACT_ABORT ON

 BEGIN
BEGIN TRANSACTION
BEGIN TRY

        insert into dbo.Users
        (User_id,First_Name,Middle_Name,Last_Name,Create_Date,Email_id,User_Active,Active_date,Inactive_date) 
        values 
        (@User_id,@First_Name,@Middle_Name,@Last_Name,GETDATE(),@User_id,1,GETDATE(),null)


		DECLARE @id int
		SET @Id = (Select max(Id) from User_Role_Type)+1
             
   
INSERT [dbo].[User_Role_Type] ([Id], [Role_Type_id], [User_Type_id], [User_id], [Start_Date], [End_Date]) VALUES
 (@Id,@Role_Type_id,@User_Type_id,@User_id,GETDATE(),null)
    

	DECLARE @NEW_ID int
	SET @NEW_ID = (Select max(Id) from User_Approver)+1

  INSERT [dbo].[User_Approver] ([Id], [User_id], [User_Approver_id])
  VALUES(@NEW_ID,@User_id,@user_approver_id)

  COMMIT;

  SELECT 'USER CREATED SUCCESSFULLY' AS MESSAGE

 END TRY

BEGIN CATCH
			ROLLBACK;
			SELECT 'User not Created' AS MESSAGE
END CATCH

END
 


GO
/****** Object:  StoredProcedure [dbo].[Usp_Insert_Usermgt22]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO



CREATE PROC [dbo].[Usp_Insert_Usermgt22]

(
@First_Name VARCHAR(50), 
@Middle_Name VARCHAR(50), 
@Last_Name VARCHAR(50), 
@Email_id VARCHAR(320),
@user_approver_id int, 
@Role_Type_id int, 
@User_Type_id int
)
 as

SET NOCOUNT ON
SET XACT_ABORT ON

 BEGIN
BEGIN TRANSACTION
BEGIN TRY

        insert into dbo.Users
        (First_Name,Middle_Name,Last_Name,Create_Date,Email_id,User_Active,Active_date,Inactive_date) 
        values 
        (@First_Name,@Middle_Name,@Last_Name,GETDATE(),@Email_id,1,GETDATE(),null)


		DECLARE @id int
		SET @Id = (Select max(Id) from User_Role_Type)+1
             
   INSERT [dbo].[User_Role_Type] ([Id], [Role_Type_id], [User_Type_id], [Start_Date], [End_Date]) VALUES
 (@Id,@Role_Type_id,@User_Type_id,GETDATE(),null)
    

	DECLARE @NEW_ID int
	SET @NEW_ID = (Select max(Id) from User_Approver)+1

  INSERT [dbo].[User_Approver] ([Id], [User_Approver_id])
  VALUES(@NEW_ID,@user_approver_id)

  COMMIT;

  SELECT 'USER CREATED SUCCESSFULLY' AS MESSAGE

 END TRY

BEGIN CATCH
			ROLLBACK;
			SELECT 'User not Created' AS MESSAGE
END CATCH

END
 



GO
/****** Object:  StoredProcedure [dbo].[usp_Users_info]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROC [dbo].[usp_Users_info]
AS
WITH email_CTE (user_id,user_Email_id,User_Approver_id,First_Name,Last_Name,Role_Name,Role_Description,User_Type_Desc)  
AS  
(  
select us.user_id, us.email_id as user_email_id, ua.User_Approver_id,us.First_Name, us.last_name,rt.Role_name, rt.Role_Description, ut.User_Type_desc
 from user_approver ua
   right outer join users us
  on ua.user_id = us.user_id
  join User_Role_Type AS ur
on us.User_id  = ur.User_id
join Role_Type rt
ON rt.Role_Type_id = ur.Role_Type_id
JOIN
User_Type as ut
ON
ut.User_Type_id = ur.User_Type_id
   
)



SELECT temp.user_id,temp.user_email_id,temp.First_Name, temp.Last_Name, temp.User_Approver_id, us.Email_id as user_approver_email_id, 
temp.Role_name, temp.Role_Description, temp.User_Type_desc
FROM email_CTE temp
left outer join users us
on temp.User_Approver_id = us.User_id
join User_Role_Type AS ur
on temp.User_id  = ur.User_id
join Role_Type rt
ON rt.Role_Type_id = ur.Role_Type_id
JOIN
User_Type as ut
ON
ut.User_Type_id = ur.User_Type_id
order by user_id
OPTION (HASH JOIN)

GO
/****** Object:  Table [dbo].[Attachment]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Attachment](
	[AttachmentId] [int] NOT NULL,
	[RequestId] [int] NOT NULL,
	[StatusId] [int] NOT NULL,
	[FileName] [varchar](128) NOT NULL,
	[FileType] [varchar](50) NOT NULL,
	[FileData] [varbinary](max) NOT NULL,
	[TaskId] [varchar](50) NULL,
	[ActionType] [varchar](50) NULL,
	[CreatedBy] [varchar](50) NOT NULL,
	[CreatedOn] [datetime] NULL,
 CONSTRAINT [PK_Attachment] PRIMARY KEY CLUSTERED 
(
	[AttachmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[CommentHistory]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommentHistory](
	[CommentId] [int] NOT NULL,
	[RequestId] [int] NOT NULL,
	[StatusId] [int] NOT NULL,
	[Comments] [varchar](3000) NULL,
	[CreatedOn] [datetime] NULL,
	[CreatedBy] [varchar](50) NULL,
	[TYPE] [varchar](6) NULL,
	[TaskId] [varchar](50) NULL,
	[CommentTypeId] [int] NULL,
 CONSTRAINT [PK_CommentHistory] PRIMARY KEY CLUSTERED 
(
	[CommentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[CommentType]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommentType](
	[Id] [int] NOT NULL,
	[Description] [varchar](250) NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[DataType]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DataType](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NULL,
 CONSTRAINT [PK_DataType] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Field_ToolTip_Description]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Field_ToolTip_Description](
	[Id] [int] NOT NULL,
	[FieldName] [varchar](50) NOT NULL,
	[TextDescription] [varchar](4000) NOT NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Management_table]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Management_table](
	[ReqID] [int] NULL,
	[DatabaseName] [varchar](50) NULL,
	[CopyStatus] [varchar](25) NULL,
	[dateandtime] [datetime] NULL,
	[checksum_before_copy] [bigint] NULL,
	[checksum_after_copy] [bigint] NULL,
	[Source_Schema] [varchar](50) NULL,
	[Destination_Schema] [varchar](50) NULL,
	[Table_Name] [varchar](50) NULL,
	[rowcount_before_copy] [int] NULL,
	[rowcount_after_copy] [int] NULL,
	[status_before_copy] [varchar](20) NULL,
	[status_after_copy] [varchar](20) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[RefreshHistory]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RefreshHistory](
	[Id] [int] NOT NULL,
	[StartDate] [datetime] NOT NULL,
	[EndDate] [datetime] NULL,
	[ScheduledBy] [varchar](50) NOT NULL,
	[Status] [varchar](50) NOT NULL,
	[ErrorMessage] [varchar](500) NULL,
	[JobType] [varchar](50) NOT NULL,
 CONSTRAINT [PK_UserRefreshHistory] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Request]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Request](
	[Id] [int] NOT NULL,
	[ProcessId] [int] NOT NULL,
	[Title] [varchar](256) NULL,
	[Description] [varchar](3000) NULL,
	[StatusDescription] [varchar](50) NULL,
	[RequestTypeId] [int] NOT NULL,
	[SourceId] [int] NULL,
	[StudyApprovalId] [int] NOT NULL,
	[CreatedOn] [datetime] NULL,
	[ModifiedOn] [datetime] NULL,
	[CreatedBy] [varchar](50) NULL,
	[ModifiedBy] [varchar](50) NULL,
	[ApproverId] [varchar](50) NULL,
	[TaskId] [varchar](50) NULL,
	[DataTypeId] [int] NULL,
 CONSTRAINT [PK_Request] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[RequestHistory]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RequestHistory](
	[HistLineNo] [int] NOT NULL,
	[Id] [int] NOT NULL,
	[ProcessId] [int] NOT NULL,
	[Title] [varchar](256) NULL,
	[Description] [varchar](3000) NULL,
	[StatusDescription] [varchar](50) NULL,
	[RequestTypeId] [int] NOT NULL,
	[SourceId] [int] NULL,
	[StudyApprovalId] [int] NOT NULL,
	[CreatedOn] [datetime] NULL,
	[ModifiedOn] [datetime] NULL,
	[CreatedBy] [varchar](50) NULL,
	[ModifiedBy] [varchar](50) NULL,
	[ApproverId] [varchar](50) NULL,
	[TaskId] [varchar](50) NULL,
	[DataTypeId] [int] NULL,
 CONSTRAINT [PK_RequestHistory] PRIMARY KEY CLUSTERED 
(
	[HistLineNo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[RequestType]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RequestType](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NULL,
 CONSTRAINT [PK__RequestType] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Role_Type]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Role_Type](
	[Role_Type_id] [int] NOT NULL,
	[Role_Name] [varchar](50) NOT NULL,
	[Role_Description] [varchar](50) NOT NULL,
 CONSTRAINT [Role_Type_pk] PRIMARY KEY CLUSTERED 
(
	[Role_Type_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Source]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Source](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NULL,
 CONSTRAINT [PK_Source] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[StudyApproval]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[StudyApproval](
	[Id] [int] NOT NULL,
	[ProcessId] [int] NOT NULL,
	[ApprovalIdObtained] [varchar](3000) NULL,
	[AssociatedStudyApproval1] [int] NULL,
	[AssociatedStudyApproval2] [int] NULL,
	[AssociatedStudyApproval3] [int] NULL,
	[Title] [varchar](50) NULL,
	[Description] [varchar](3000) NULL,
	[CreatedOn] [datetime] NULL,
	[ModifiedOn] [datetime] NULL,
	[CreatedBy] [varchar](50) NULL,
	[ModifiedBy] [varchar](50) NULL,
	[Active] [tinyint] NOT NULL,
	[Active_date] [datetime] NOT NULL,
	[Inactive_date] [datetime] NULL,
 CONSTRAINT [PK_StudyApproval] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[User_Approver]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User_Approver](
	[Id] [int] NOT NULL,
	[User_id] [int] NOT NULL,
	[User_Approver_id] [int] NOT NULL,
 CONSTRAINT [User_Approver_pk] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[User_Role_Type]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User_Role_Type](
	[Id] [int] NOT NULL,
	[Role_Type_id] [int] NOT NULL,
	[User_Type_id] [int] NOT NULL,
	[User_id] [int] NOT NULL,
	[Start_Date] [datetime] NOT NULL,
	[End_Date] [datetime] NULL,
 CONSTRAINT [User_Role_Type_pk] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[User_Type]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[User_Type](
	[User_Type_id] [int] NOT NULL,
	[User_Type_desc] [varchar](50) NOT NULL,
 CONSTRAINT [User_Type_pk] PRIMARY KEY CLUSTERED 
(
	[User_Type_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Users]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Users](
	[User_id] [int] NOT NULL,
	[First_Name] [varchar](50) NOT NULL,
	[Middle_Name] [varchar](50) NULL,
	[Last_Name] [varchar](50) NOT NULL,
	[Last_Name2] [varchar](50) NULL,
	[Create_Date] [datetime] NOT NULL,
	[Email_id] [varchar](320) NOT NULL,
	[User_Active] [tinyint] NOT NULL,
	[Active_date] [datetime] NOT NULL,
	[Inactive_date] [datetime] NULL,
	[user_name] [varchar](250) NOT NULL,
	[ModifiedOn] [datetime] NULL,
 CONSTRAINT [User_pk] PRIMARY KEY CLUSTERED 
(
	[User_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
 CONSTRAINT [UC_Email_id] UNIQUE NONCLUSTERED 
(
	[Email_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
 CONSTRAINT [unique_user] UNIQUE NONCLUSTERED 
(
	[user_name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[WorkflowStatus]    Script Date: 11/7/2017 2:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[WorkflowStatus](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NULL,
 CONSTRAINT [PK_WorkflowStatus] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
SET ANSI_PADDING ON

GO
/****** Object:  Index [IDX_fieldname]    Script Date: 11/7/2017 2:53:43 PM ******/
CREATE UNIQUE NONCLUSTERED INDEX [IDX_fieldname] ON [dbo].[Field_ToolTip_Description]
(
	[FieldName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Attachment]  WITH CHECK ADD  CONSTRAINT [FK_Attachment_Attachment] FOREIGN KEY([StatusId])
REFERENCES [dbo].[WorkflowStatus] ([Id])
GO
ALTER TABLE [dbo].[Attachment] CHECK CONSTRAINT [FK_Attachment_Attachment]
GO
ALTER TABLE [dbo].[Attachment]  WITH CHECK ADD  CONSTRAINT [FK_Attachment_Request] FOREIGN KEY([RequestId])
REFERENCES [dbo].[Request] ([Id])
GO
ALTER TABLE [dbo].[Attachment] CHECK CONSTRAINT [FK_Attachment_Request]
GO
ALTER TABLE [dbo].[CommentHistory]  WITH CHECK ADD  CONSTRAINT [FK_CommentHistory_CommentType] FOREIGN KEY([CommentTypeId])
REFERENCES [dbo].[CommentType] ([Id])
GO
ALTER TABLE [dbo].[CommentHistory] CHECK CONSTRAINT [FK_CommentHistory_CommentType]
GO
ALTER TABLE [dbo].[CommentHistory]  WITH CHECK ADD  CONSTRAINT [FK_CommentHistory_Request] FOREIGN KEY([RequestId])
REFERENCES [dbo].[Request] ([Id])
GO
ALTER TABLE [dbo].[CommentHistory] CHECK CONSTRAINT [FK_CommentHistory_Request]
GO
ALTER TABLE [dbo].[CommentHistory]  WITH CHECK ADD  CONSTRAINT [FK_CommentHistory_WorkflowStatus] FOREIGN KEY([StatusId])
REFERENCES [dbo].[WorkflowStatus] ([Id])
GO
ALTER TABLE [dbo].[CommentHistory] CHECK CONSTRAINT [FK_CommentHistory_WorkflowStatus]
GO
ALTER TABLE [dbo].[Request]  WITH CHECK ADD  CONSTRAINT [Fk_datatypeId] FOREIGN KEY([DataTypeId])
REFERENCES [dbo].[DataType] ([Id])
GO
ALTER TABLE [dbo].[Request] CHECK CONSTRAINT [Fk_datatypeId]
GO
ALTER TABLE [dbo].[Request]  WITH CHECK ADD  CONSTRAINT [Fk_RqId] FOREIGN KEY([RequestTypeId])
REFERENCES [dbo].[RequestType] ([Id])
GO
ALTER TABLE [dbo].[Request] CHECK CONSTRAINT [Fk_RqId]
GO
ALTER TABLE [dbo].[Request]  WITH CHECK ADD  CONSTRAINT [FK_sourceid] FOREIGN KEY([SourceId])
REFERENCES [dbo].[Source] ([Id])
GO
ALTER TABLE [dbo].[Request] CHECK CONSTRAINT [FK_sourceid]
GO
ALTER TABLE [dbo].[Request]  WITH CHECK ADD  CONSTRAINT [StudyApproval_id] FOREIGN KEY([StudyApprovalId])
REFERENCES [dbo].[StudyApproval] ([Id])
GO
ALTER TABLE [dbo].[Request] CHECK CONSTRAINT [StudyApproval_id]
GO
ALTER TABLE [dbo].[RequestHistory]  WITH CHECK ADD  CONSTRAINT [FK_RequestHistory_Request] FOREIGN KEY([Id])
REFERENCES [dbo].[Request] ([Id])
GO
ALTER TABLE [dbo].[RequestHistory] CHECK CONSTRAINT [FK_RequestHistory_Request]
GO
ALTER TABLE [dbo].[User_Approver]  WITH CHECK ADD  CONSTRAINT [FK6vf0ra2lvg1e0brhdij87m4bt] FOREIGN KEY([User_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Approver] CHECK CONSTRAINT [FK6vf0ra2lvg1e0brhdij87m4bt]
GO
ALTER TABLE [dbo].[User_Approver]  WITH CHECK ADD  CONSTRAINT [FKey4yj5px3imdwrur7l86qqnok] FOREIGN KEY([User_Approver_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Approver] CHECK CONSTRAINT [FKey4yj5px3imdwrur7l86qqnok]
GO
ALTER TABLE [dbo].[User_Approver]  WITH CHECK ADD  CONSTRAINT [User_Approver_User] FOREIGN KEY([User_Approver_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Approver] CHECK CONSTRAINT [User_Approver_User]
GO
ALTER TABLE [dbo].[User_Approver]  WITH CHECK ADD  CONSTRAINT [User_Approver_User_id] FOREIGN KEY([User_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Approver] CHECK CONSTRAINT [User_Approver_User_id]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [FK_Type_User] FOREIGN KEY([User_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [FK_Type_User]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [FK_User_typeID] FOREIGN KEY([User_Type_id])
REFERENCES [dbo].[User_Type] ([User_Type_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [FK_User_typeID]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [FKjg9qb8y1mxhgxo6jmn9n3wg09] FOREIGN KEY([User_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [FKjg9qb8y1mxhgxo6jmn9n3wg09]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [FKp6r187vqd51blhk5w4ngep83q] FOREIGN KEY([Role_Type_id])
REFERENCES [dbo].[Role_Type] ([Role_Type_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [FKp6r187vqd51blhk5w4ngep83q]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [FKt6urva93rbst0o122twqvgx3b] FOREIGN KEY([User_Type_id])
REFERENCES [dbo].[User_Type] ([User_Type_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [FKt6urva93rbst0o122twqvgx3b]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [User_Role_Type_Role_Type] FOREIGN KEY([Role_Type_id])
REFERENCES [dbo].[Role_Type] ([Role_Type_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [User_Role_Type_Role_Type]
GO
USE [master]
GO
ALTER DATABASE [GENISIS_DB] SET  READ_WRITE 
GO

---dataload--for lookup tables


USE [GENISIS_DB]
GO
INSERT [dbo].[Role_Type] ([Role_Type_id], [Role_Name], [Role_Description]) VALUES (1, N'Administrator', N'Administrator')
GO
INSERT [dbo].[Role_Type] ([Role_Type_id], [Role_Name], [Role_Description]) VALUES (2, N'requester', N'Requester')
GO
INSERT [dbo].[Role_Type] ([Role_Type_id], [Role_Name], [Role_Description]) VALUES (3, N'Genisis2 Manager', N'Genisis2 Manager')
GO
INSERT [dbo].[Role_Type] ([Role_Type_id], [Role_Name], [Role_Description]) VALUES (4, N'VINCI Manager', N'VINCI Manager')
GO
INSERT [dbo].[User_Type] ([User_Type_id], [User_Type_desc]) VALUES (1, N'Contractor')
GO
INSERT [dbo].[User_Type] ([User_Type_id], [User_Type_desc]) VALUES (2, N'Employee')
GO

INSERT [dbo].[CommentType] ([Id], [Description]) VALUES (1, N'Operations')
GO
INSERT [dbo].[CommentType] ([Id], [Description]) VALUES (2, N'General')
GO
INSERT [dbo].[DataType] ([Id], [Description]) VALUES (1, N'Aggregate Data')
GO
INSERT [dbo].[DataType] ([Id], [Description]) VALUES (2, N'Detail Data')
GO
INSERT [dbo].[Field_ToolTip_Description] ([Id], [FieldName], [TextDescription]) VALUES (1, N'VINCI_REQUEST_Description', N'Provide the following information:
 Data source URI
 Data destination URI
 Data Description

URI can be :
 file://<file-server-or-empty-string>/full/path/to/file
 mssql://<db-server-or-empty-string>/database/schema/table_or_view')
GO
INSERT [dbo].[Field_ToolTip_Description] ([Id], [FieldName], [TextDescription]) VALUES (2, N'TRANSFER_TO_VINCI_REQUEST_Description', N'Provide the following information:
 Data source URI
 Data destination URI
 Data Description

URI can be :
 file://<file-server-or-empty-string>/full/path/to/file
 mssql://<db-server-or-empty-string>/database/schema/table_or_view')
GO
INSERT [dbo].[RequestType] ([Id], [Description]) VALUES (1, N'VINCI Data Request')
GO
INSERT [dbo].[RequestType] ([Id], [Description]) VALUES (2, N'Transfer to VINCI Request')
GO
INSERT [dbo].[Source] ([Id], [Description]) VALUES (1, N'Survey Data')
GO
INSERT [dbo].[Source] ([Id], [Description]) VALUES (2, N'Genomic Data')
GO
INSERT [dbo].[Source] ([Id], [Description]) VALUES (3, N' Clinical Data')
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (1, 999999999, NULL, NULL, NULL, NULL, N'Operations', N'Operations', CAST(0x0000A81F0130DEFC AS DateTime), CAST(0x0000A81F0130DEFC AS DateTime), NULL, NULL, 1, CAST(0x0000A81F0130A71F AS DateTime), NULL)
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (176, 999999999, NULL, NULL, NULL, NULL, N'csp572', N'csp572', CAST(0x0000A82400EEF49E AS DateTime), CAST(0x0000A82400EEF49E AS DateTime), NULL, NULL, 1, CAST(0x0000A82400EEF49E AS DateTime), NULL)
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (177, 999999999, NULL, NULL, NULL, NULL, N'mvp001', N'mvp001', CAST(0x0000A82000E6B6AF AS DateTime), CAST(0x0000A82000EEC0ED AS DateTime), NULL, NULL, 0, CAST(0x0000A82000E6B6AF AS DateTime), NULL)
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (178, 999999999, NULL, NULL, NULL, NULL, N'mvp002', N'mvp002', CAST(0x0000A82400EEF4A0 AS DateTime), CAST(0x0000A82400EEF4A0 AS DateTime), NULL, NULL, 1, CAST(0x0000A82400EEF4A0 AS DateTime), NULL)
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (179, 999999999, NULL, NULL, NULL, NULL, N'mvp003', N'mvp003', CAST(0x0000A82400EEF4A1 AS DateTime), CAST(0x0000A82400EEF4A1 AS DateTime), NULL, NULL, 1, CAST(0x0000A82400EEF4A1 AS DateTime), NULL)
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (180, 999999999, NULL, NULL, NULL, NULL, N'mvp004', N'mvp004', CAST(0x0000A82400EEF4A2 AS DateTime), CAST(0x0000A82400EEF4A2 AS DateTime), NULL, NULL, 1, CAST(0x0000A82400EEF4A2 AS DateTime), NULL)
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (181, 999999999, NULL, NULL, NULL, NULL, N'mvp005', N'mvp005', CAST(0x0000A82400EEF4A4 AS DateTime), CAST(0x0000A82400EEF4A4 AS DateTime), NULL, NULL, 1, CAST(0x0000A82400EEF4A4 AS DateTime), NULL)
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (182, 999999999, NULL, NULL, NULL, NULL, N'csp575b', N'csp575b', CAST(0x0000A82400EEF4A5 AS DateTime), CAST(0x0000A82400EEF4A5 AS DateTime), NULL, NULL, 1, CAST(0x0000A82400EEF4A5 AS DateTime), NULL)
GO
INSERT [dbo].[StudyApproval] ([Id], [ProcessId], [ApprovalIdObtained], [AssociatedStudyApproval1], [AssociatedStudyApproval2], [AssociatedStudyApproval3], [Title], [Description], [CreatedOn], [ModifiedOn], [CreatedBy], [ModifiedBy], [Active], [Active_date], [Inactive_date]) VALUES (183, 999999999, NULL, NULL, NULL, NULL, N'mvp006', N'mvp006', CAST(0x0000A82000A3AFE7 AS DateTime), CAST(0x0000A82000A44041 AS DateTime), NULL, NULL, 0, CAST(0x0000A82000A3AFE7 AS DateTime), NULL)
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (1, N'Draft')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (2, N'Submitted')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (3, N'Denied')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (4, N'Returned')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (5, N'Sent')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (7, N'RequestAccepted')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (8, N'RequestNotAccepted')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (9, N'ResultsAccepted')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (10, N'ResultsNotAccepted')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (11, N'ResultsDelivered')
GO
INSERT [dbo].[WorkflowStatus] ([Id], [Description]) VALUES (12, N'Cancelled')
GO
